-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement bond order syntax for CG #24
Conversation
Should the last 2 examples be:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, just some small commetns
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nitpicks
Co-authored-by: Peter C Kroon <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Left to do is for you to decide what %123
means
@pckroon %123 means ID 123. I foresee that there will be no use case of more than 10 ring IDs. |
Some important changes:
This should allow the capturing of virtual sides. The idea is that a VS has only non-zero order if it corresponds to a real fragment. In this case, it is a user's choice how many edges with zero order one provides on top of that. Any edges required to reconstruct the molecule are still mandatory.
Let's look at some examples:
Glucose has one VS TC4 which sits in the middle of the triangle so it has 3 zero edges and no fragment.
{[#SP4]1.2[#SP4].3[#SP1r]1.[#TC4]23}.{#SP4=OC[$]C[$]O,#SP1r=[$]OC[$]CO}
Naphthalene has one VS in the middle of the ring TC5A here. We don't care because it has connectivity to all it's constructing neighboring atoms.
{[#TC5]1[#TC5B][#TC5A]12[#TC5][#TC5B]2}.{#TC5B=[$]cc[>],#TC5=[$]cc[<],#TC5A=[>][>]cc[<][<]}
Polythiophene has two VS that connect the rings at the CG level. The CG graph could either write this edge and all constructing edges or connect the VS only to one anchor. In any case, the connection between #C has to be provided in all cases. There is no way to recover the CG connectivity in a sensible way as it dos not map from the all-atom level. This is the best we can do.
-
{[#A]1[#B][#C]12.[#VS].[#VS].[#C]12[#B][#A]1}
-
{[#A]12[#B]3[#C]14.[#VS]23.[#VS]23.[#C]14[#B]2[#A]31}